/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number}
 */
var search = function (nums, target) {
  let l = 0,
    n = nums.length
  r = n - 1
  if (n === 0) {
    return -1
  }
  if (n === 1) {
    return nums[0] === target ? 0 : -1
  }
  while (l <= r) {
    let mid = Math.floor((l + r) / 2)
    console.log('mid',mid)
    if (nums[mid] === target) {
      return mid
    }
    if (nums[0] <= nums[mid]) {
      if (nums[0] <= target && target < nums[mid]) {
        r = mid - 1
      } else {
        l = mid + 1
      }
    } else {
      if (nums[mid] < target && target <= nums[n - 1]) {
        l = mid + 1
      } else {
        r = mid - 1
      }
    }
  }
  return -1
};

var nums = [3,1],
  target = 1

console.log(search(nums, target))
